Smok Bajtazar ma skarbonek.
Każdą skarbonkę można otworzyć jej kluczem lub rozbić młotkiem.
Bajtazar powrzucał klucze do pewnych skarbonek, pamięta przy tym
który do której.
Bajtazar zamierza kupić samochód i potrzebuje dostać się
do wszystkich skarbonek.
Chce jednak zniszczyć jak najmniej z nich.
Pomóż Bajtazarowi ustalić ile skarbonek musi rozbić.
Zadanie
Napisz program, który:
wczyta ze standardowego wejścia liczbę skarbonek i rozmieszczenie
odpowiadających im kluczy,
obliczy minimalną liczbę skarbonek, które trzeba rozbić, aby dostać
się do wszystkich skarbonek,
wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba
całkowita () - tyle skarbonek posiada
smok.
Skarbonki (jak również odpowiadające im klucze)
są ponumerowane od do .
Dalej na wejściu mamy wierszy: w -szym wierszu zapisana
jest jedna liczba całkowita - numer skarbonki, w której znajduje
się -ty klucz.
Wyjście
W pierwszym i jedynym wierszu standardowego wyjścia należy zapisać jedną
liczbę całkowitą - minimalną liczbę skarbonek, które trzeba rozbić,
aby dostać się do wszystkich skarbonek.
Przykład
Dla danych wejściowych:
4
2
1
2
4
poprawną odpowiedzią jest:
2
W powyższym przykładzie wystarczy rozbić skarbonki numer i .
Autor zadania: Wojciech Guzicki.
Kontakt
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.